Tekenreeksen interpolatie
Een geïnterpoleerd tekenreeksexpressie ziet eruit als een template string die expressies bevat. Een geïnterpoleerd tekenreeksexpressie creëert een string door de expressies erin te vervangen door ToString representaties van de resultaten van de expressies. Een geïnterpoleerde string is gemakkelijker te lezen en te begrijpen dan de Tekenreeksen formatteren (composite formatting).
Voorbeelden
composite formating
string item = "brood";
decimal amount = 2.25m;
Console.WriteLine("{0,-10}{1:C}", item, amount);
interpolatie
Console.WriteLine($"{item}kost {amount}");
De $ prefix is vereist. De waarde in de item variabele gaat {item} vervangen en de waarde in de amount variabele vervangt {amount}. Net zoals bij numerieke placeholders, kan je bijkomende formattering toevoegen.
Console.WriteLine($"{nameof(item)}: {item,-10} {nameof(amount)}: {amount:C}");
De nameof operator retourneert de naam “item”. Zo zie je dat je expressies kan gebruiken in placeholders. Hier passen we witruimte en valuta formattering toe op item en amount.
string name = "Bob Dylan";
int age = 80;
var s = $"{name, 20} is {age:D3} year{(age == 1 ? "" : "s")} old.";
Console.WriteLine(s);
Oefening
- Plaats de code hierboven in een static methode met de naam Interpolatie in de klasse met de naam
WerkenMetGegevensin de namespace met de naamLerenWerkenMetCSharp. - Test deze methode in de
Mainmethode in Program.cs.